package compilador.gerador.comando;

import static compilador.gerador.GeradorDeCodigo.INVARIANTE_SEM_NOME;
import static compilador.gerador.GeradorDeCodigo.SUFIX_INV;

import compilador.Command;
import compilador.CommandException;
import compilador.gerador.ClasseCodigo;
import compilador.gerador.GeradorDeCodigo;

public class CriaInvarianteCommand implements Command {

	

	@Override
	public void run(String... args) throws CommandException {
		String nomeInv = args[0];
		GeradorDeCodigo gerador = GeradorDeCodigo.getInstance();
		ClasseCodigo code = gerador.getClasseCodigo();
		if (nomeInv.equals(INVARIANTE_SEM_NOME)) {
			nomeInv = INVARIANTE_SEM_NOME+code.getNextInvNumber();
		} else {
			nomeInv = nomeInv + SUFIX_INV;
		}
		String inv = "\tboolean " + nomeInv + "(){\n\t\treturn #;\n\t}\n";
		code.addInv(inv);
	}
}
